#pragma once
#include "Registry.h"
#include "String.h"

class Registry{
public:
	Registry	(void){key=0;}
	Registry	(HKEY,PTSTR);
	~Registry	(void);

	void	del	(PTSTR);
	uint	get	(PTSTR,int);
	String*	get	(PTSTR,PTSTR);
	void	get	(PTSTR,PTSTR,uint);
	void	set	(PTSTR,PTSTR);

protected:
	HKEY	key;
};

class CurrentUser: public Registry{
public:
	CurrentUser(PTSTR subKey):Registry(HKEY_CURRENT_USER,subKey){};
};

class LocalMachine: public Registry{
public:
	LocalMachine(PTSTR subKey):Registry(HKEY_LOCAL_MACHINE,subKey){};
};

class MachineOrUser: public Registry{
public:
	MachineOrUser(PTSTR subKey);
};